package com.zheng.umbrella.dao.model;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class UmbrellaHardwareMachineVersionExample implements Serializable {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private static final long serialVersionUID = 1L;

    public UmbrellaHardwareMachineVersionExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria implements Serializable {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andMachineCodeIsNull() {
            addCriterion("machine_code is null");
            return (Criteria) this;
        }

        public Criteria andMachineCodeIsNotNull() {
            addCriterion("machine_code is not null");
            return (Criteria) this;
        }

        public Criteria andMachineCodeEqualTo(String value) {
            addCriterion("machine_code =", value, "machineCode");
            return (Criteria) this;
        }

        public Criteria andMachineCodeNotEqualTo(String value) {
            addCriterion("machine_code <>", value, "machineCode");
            return (Criteria) this;
        }

        public Criteria andMachineCodeGreaterThan(String value) {
            addCriterion("machine_code >", value, "machineCode");
            return (Criteria) this;
        }

        public Criteria andMachineCodeGreaterThanOrEqualTo(String value) {
            addCriterion("machine_code >=", value, "machineCode");
            return (Criteria) this;
        }

        public Criteria andMachineCodeLessThan(String value) {
            addCriterion("machine_code <", value, "machineCode");
            return (Criteria) this;
        }

        public Criteria andMachineCodeLessThanOrEqualTo(String value) {
            addCriterion("machine_code <=", value, "machineCode");
            return (Criteria) this;
        }

        public Criteria andMachineCodeLike(String value) {
            addCriterion("machine_code like", value, "machineCode");
            return (Criteria) this;
        }

        public Criteria andMachineCodeNotLike(String value) {
            addCriterion("machine_code not like", value, "machineCode");
            return (Criteria) this;
        }

        public Criteria andMachineCodeIn(List<String> values) {
            addCriterion("machine_code in", values, "machineCode");
            return (Criteria) this;
        }

        public Criteria andMachineCodeNotIn(List<String> values) {
            addCriterion("machine_code not in", values, "machineCode");
            return (Criteria) this;
        }

        public Criteria andMachineCodeBetween(String value1, String value2) {
            addCriterion("machine_code between", value1, value2, "machineCode");
            return (Criteria) this;
        }

        public Criteria andMachineCodeNotBetween(String value1, String value2) {
            addCriterion("machine_code not between", value1, value2, "machineCode");
            return (Criteria) this;
        }

        public Criteria andFamilyIsNull() {
            addCriterion("family is null");
            return (Criteria) this;
        }

        public Criteria andFamilyIsNotNull() {
            addCriterion("family is not null");
            return (Criteria) this;
        }

        public Criteria andFamilyEqualTo(String value) {
            addCriterion("family =", value, "family");
            return (Criteria) this;
        }

        public Criteria andFamilyNotEqualTo(String value) {
            addCriterion("family <>", value, "family");
            return (Criteria) this;
        }

        public Criteria andFamilyGreaterThan(String value) {
            addCriterion("family >", value, "family");
            return (Criteria) this;
        }

        public Criteria andFamilyGreaterThanOrEqualTo(String value) {
            addCriterion("family >=", value, "family");
            return (Criteria) this;
        }

        public Criteria andFamilyLessThan(String value) {
            addCriterion("family <", value, "family");
            return (Criteria) this;
        }

        public Criteria andFamilyLessThanOrEqualTo(String value) {
            addCriterion("family <=", value, "family");
            return (Criteria) this;
        }

        public Criteria andFamilyLike(String value) {
            addCriterion("family like", value, "family");
            return (Criteria) this;
        }

        public Criteria andFamilyNotLike(String value) {
            addCriterion("family not like", value, "family");
            return (Criteria) this;
        }

        public Criteria andFamilyIn(List<String> values) {
            addCriterion("family in", values, "family");
            return (Criteria) this;
        }

        public Criteria andFamilyNotIn(List<String> values) {
            addCriterion("family not in", values, "family");
            return (Criteria) this;
        }

        public Criteria andFamilyBetween(String value1, String value2) {
            addCriterion("family between", value1, value2, "family");
            return (Criteria) this;
        }

        public Criteria andFamilyNotBetween(String value1, String value2) {
            addCriterion("family not between", value1, value2, "family");
            return (Criteria) this;
        }

        public Criteria andFlashsizeIsNull() {
            addCriterion("flashSize is null");
            return (Criteria) this;
        }

        public Criteria andFlashsizeIsNotNull() {
            addCriterion("flashSize is not null");
            return (Criteria) this;
        }

        public Criteria andFlashsizeEqualTo(String value) {
            addCriterion("flashSize =", value, "flashsize");
            return (Criteria) this;
        }

        public Criteria andFlashsizeNotEqualTo(String value) {
            addCriterion("flashSize <>", value, "flashsize");
            return (Criteria) this;
        }

        public Criteria andFlashsizeGreaterThan(String value) {
            addCriterion("flashSize >", value, "flashsize");
            return (Criteria) this;
        }

        public Criteria andFlashsizeGreaterThanOrEqualTo(String value) {
            addCriterion("flashSize >=", value, "flashsize");
            return (Criteria) this;
        }

        public Criteria andFlashsizeLessThan(String value) {
            addCriterion("flashSize <", value, "flashsize");
            return (Criteria) this;
        }

        public Criteria andFlashsizeLessThanOrEqualTo(String value) {
            addCriterion("flashSize <=", value, "flashsize");
            return (Criteria) this;
        }

        public Criteria andFlashsizeLike(String value) {
            addCriterion("flashSize like", value, "flashsize");
            return (Criteria) this;
        }

        public Criteria andFlashsizeNotLike(String value) {
            addCriterion("flashSize not like", value, "flashsize");
            return (Criteria) this;
        }

        public Criteria andFlashsizeIn(List<String> values) {
            addCriterion("flashSize in", values, "flashsize");
            return (Criteria) this;
        }

        public Criteria andFlashsizeNotIn(List<String> values) {
            addCriterion("flashSize not in", values, "flashsize");
            return (Criteria) this;
        }

        public Criteria andFlashsizeBetween(String value1, String value2) {
            addCriterion("flashSize between", value1, value2, "flashsize");
            return (Criteria) this;
        }

        public Criteria andFlashsizeNotBetween(String value1, String value2) {
            addCriterion("flashSize not between", value1, value2, "flashsize");
            return (Criteria) this;
        }

        public Criteria andSramsizeIsNull() {
            addCriterion("sramSize is null");
            return (Criteria) this;
        }

        public Criteria andSramsizeIsNotNull() {
            addCriterion("sramSize is not null");
            return (Criteria) this;
        }

        public Criteria andSramsizeEqualTo(String value) {
            addCriterion("sramSize =", value, "sramsize");
            return (Criteria) this;
        }

        public Criteria andSramsizeNotEqualTo(String value) {
            addCriterion("sramSize <>", value, "sramsize");
            return (Criteria) this;
        }

        public Criteria andSramsizeGreaterThan(String value) {
            addCriterion("sramSize >", value, "sramsize");
            return (Criteria) this;
        }

        public Criteria andSramsizeGreaterThanOrEqualTo(String value) {
            addCriterion("sramSize >=", value, "sramsize");
            return (Criteria) this;
        }

        public Criteria andSramsizeLessThan(String value) {
            addCriterion("sramSize <", value, "sramsize");
            return (Criteria) this;
        }

        public Criteria andSramsizeLessThanOrEqualTo(String value) {
            addCriterion("sramSize <=", value, "sramsize");
            return (Criteria) this;
        }

        public Criteria andSramsizeLike(String value) {
            addCriterion("sramSize like", value, "sramsize");
            return (Criteria) this;
        }

        public Criteria andSramsizeNotLike(String value) {
            addCriterion("sramSize not like", value, "sramsize");
            return (Criteria) this;
        }

        public Criteria andSramsizeIn(List<String> values) {
            addCriterion("sramSize in", values, "sramsize");
            return (Criteria) this;
        }

        public Criteria andSramsizeNotIn(List<String> values) {
            addCriterion("sramSize not in", values, "sramsize");
            return (Criteria) this;
        }

        public Criteria andSramsizeBetween(String value1, String value2) {
            addCriterion("sramSize between", value1, value2, "sramsize");
            return (Criteria) this;
        }

        public Criteria andSramsizeNotBetween(String value1, String value2) {
            addCriterion("sramSize not between", value1, value2, "sramsize");
            return (Criteria) this;
        }

        public Criteria andDeviceidIsNull() {
            addCriterion("deviceId is null");
            return (Criteria) this;
        }

        public Criteria andDeviceidIsNotNull() {
            addCriterion("deviceId is not null");
            return (Criteria) this;
        }

        public Criteria andDeviceidEqualTo(String value) {
            addCriterion("deviceId =", value, "deviceid");
            return (Criteria) this;
        }

        public Criteria andDeviceidNotEqualTo(String value) {
            addCriterion("deviceId <>", value, "deviceid");
            return (Criteria) this;
        }

        public Criteria andDeviceidGreaterThan(String value) {
            addCriterion("deviceId >", value, "deviceid");
            return (Criteria) this;
        }

        public Criteria andDeviceidGreaterThanOrEqualTo(String value) {
            addCriterion("deviceId >=", value, "deviceid");
            return (Criteria) this;
        }

        public Criteria andDeviceidLessThan(String value) {
            addCriterion("deviceId <", value, "deviceid");
            return (Criteria) this;
        }

        public Criteria andDeviceidLessThanOrEqualTo(String value) {
            addCriterion("deviceId <=", value, "deviceid");
            return (Criteria) this;
        }

        public Criteria andDeviceidLike(String value) {
            addCriterion("deviceId like", value, "deviceid");
            return (Criteria) this;
        }

        public Criteria andDeviceidNotLike(String value) {
            addCriterion("deviceId not like", value, "deviceid");
            return (Criteria) this;
        }

        public Criteria andDeviceidIn(List<String> values) {
            addCriterion("deviceId in", values, "deviceid");
            return (Criteria) this;
        }

        public Criteria andDeviceidNotIn(List<String> values) {
            addCriterion("deviceId not in", values, "deviceid");
            return (Criteria) this;
        }

        public Criteria andDeviceidBetween(String value1, String value2) {
            addCriterion("deviceId between", value1, value2, "deviceid");
            return (Criteria) this;
        }

        public Criteria andDeviceidNotBetween(String value1, String value2) {
            addCriterion("deviceId not between", value1, value2, "deviceid");
            return (Criteria) this;
        }

        public Criteria andDevicecodeIsNull() {
            addCriterion("deviceCode is null");
            return (Criteria) this;
        }

        public Criteria andDevicecodeIsNotNull() {
            addCriterion("deviceCode is not null");
            return (Criteria) this;
        }

        public Criteria andDevicecodeEqualTo(String value) {
            addCriterion("deviceCode =", value, "devicecode");
            return (Criteria) this;
        }

        public Criteria andDevicecodeNotEqualTo(String value) {
            addCriterion("deviceCode <>", value, "devicecode");
            return (Criteria) this;
        }

        public Criteria andDevicecodeGreaterThan(String value) {
            addCriterion("deviceCode >", value, "devicecode");
            return (Criteria) this;
        }

        public Criteria andDevicecodeGreaterThanOrEqualTo(String value) {
            addCriterion("deviceCode >=", value, "devicecode");
            return (Criteria) this;
        }

        public Criteria andDevicecodeLessThan(String value) {
            addCriterion("deviceCode <", value, "devicecode");
            return (Criteria) this;
        }

        public Criteria andDevicecodeLessThanOrEqualTo(String value) {
            addCriterion("deviceCode <=", value, "devicecode");
            return (Criteria) this;
        }

        public Criteria andDevicecodeLike(String value) {
            addCriterion("deviceCode like", value, "devicecode");
            return (Criteria) this;
        }

        public Criteria andDevicecodeNotLike(String value) {
            addCriterion("deviceCode not like", value, "devicecode");
            return (Criteria) this;
        }

        public Criteria andDevicecodeIn(List<String> values) {
            addCriterion("deviceCode in", values, "devicecode");
            return (Criteria) this;
        }

        public Criteria andDevicecodeNotIn(List<String> values) {
            addCriterion("deviceCode not in", values, "devicecode");
            return (Criteria) this;
        }

        public Criteria andDevicecodeBetween(String value1, String value2) {
            addCriterion("deviceCode between", value1, value2, "devicecode");
            return (Criteria) this;
        }

        public Criteria andDevicecodeNotBetween(String value1, String value2) {
            addCriterion("deviceCode not between", value1, value2, "devicecode");
            return (Criteria) this;
        }

        public Criteria andIapversionIsNull() {
            addCriterion("iapVersion is null");
            return (Criteria) this;
        }

        public Criteria andIapversionIsNotNull() {
            addCriterion("iapVersion is not null");
            return (Criteria) this;
        }

        public Criteria andIapversionEqualTo(String value) {
            addCriterion("iapVersion =", value, "iapversion");
            return (Criteria) this;
        }

        public Criteria andIapversionNotEqualTo(String value) {
            addCriterion("iapVersion <>", value, "iapversion");
            return (Criteria) this;
        }

        public Criteria andIapversionGreaterThan(String value) {
            addCriterion("iapVersion >", value, "iapversion");
            return (Criteria) this;
        }

        public Criteria andIapversionGreaterThanOrEqualTo(String value) {
            addCriterion("iapVersion >=", value, "iapversion");
            return (Criteria) this;
        }

        public Criteria andIapversionLessThan(String value) {
            addCriterion("iapVersion <", value, "iapversion");
            return (Criteria) this;
        }

        public Criteria andIapversionLessThanOrEqualTo(String value) {
            addCriterion("iapVersion <=", value, "iapversion");
            return (Criteria) this;
        }

        public Criteria andIapversionLike(String value) {
            addCriterion("iapVersion like", value, "iapversion");
            return (Criteria) this;
        }

        public Criteria andIapversionNotLike(String value) {
            addCriterion("iapVersion not like", value, "iapversion");
            return (Criteria) this;
        }

        public Criteria andIapversionIn(List<String> values) {
            addCriterion("iapVersion in", values, "iapversion");
            return (Criteria) this;
        }

        public Criteria andIapversionNotIn(List<String> values) {
            addCriterion("iapVersion not in", values, "iapversion");
            return (Criteria) this;
        }

        public Criteria andIapversionBetween(String value1, String value2) {
            addCriterion("iapVersion between", value1, value2, "iapversion");
            return (Criteria) this;
        }

        public Criteria andIapversionNotBetween(String value1, String value2) {
            addCriterion("iapVersion not between", value1, value2, "iapversion");
            return (Criteria) this;
        }

        public Criteria andSerialnumberIsNull() {
            addCriterion("serialNumber is null");
            return (Criteria) this;
        }

        public Criteria andSerialnumberIsNotNull() {
            addCriterion("serialNumber is not null");
            return (Criteria) this;
        }

        public Criteria andSerialnumberEqualTo(String value) {
            addCriterion("serialNumber =", value, "serialnumber");
            return (Criteria) this;
        }

        public Criteria andSerialnumberNotEqualTo(String value) {
            addCriterion("serialNumber <>", value, "serialnumber");
            return (Criteria) this;
        }

        public Criteria andSerialnumberGreaterThan(String value) {
            addCriterion("serialNumber >", value, "serialnumber");
            return (Criteria) this;
        }

        public Criteria andSerialnumberGreaterThanOrEqualTo(String value) {
            addCriterion("serialNumber >=", value, "serialnumber");
            return (Criteria) this;
        }

        public Criteria andSerialnumberLessThan(String value) {
            addCriterion("serialNumber <", value, "serialnumber");
            return (Criteria) this;
        }

        public Criteria andSerialnumberLessThanOrEqualTo(String value) {
            addCriterion("serialNumber <=", value, "serialnumber");
            return (Criteria) this;
        }

        public Criteria andSerialnumberLike(String value) {
            addCriterion("serialNumber like", value, "serialnumber");
            return (Criteria) this;
        }

        public Criteria andSerialnumberNotLike(String value) {
            addCriterion("serialNumber not like", value, "serialnumber");
            return (Criteria) this;
        }

        public Criteria andSerialnumberIn(List<String> values) {
            addCriterion("serialNumber in", values, "serialnumber");
            return (Criteria) this;
        }

        public Criteria andSerialnumberNotIn(List<String> values) {
            addCriterion("serialNumber not in", values, "serialnumber");
            return (Criteria) this;
        }

        public Criteria andSerialnumberBetween(String value1, String value2) {
            addCriterion("serialNumber between", value1, value2, "serialnumber");
            return (Criteria) this;
        }

        public Criteria andSerialnumberNotBetween(String value1, String value2) {
            addCriterion("serialNumber not between", value1, value2, "serialnumber");
            return (Criteria) this;
        }

        public Criteria andHardwareversionIsNull() {
            addCriterion("hardwareVersion is null");
            return (Criteria) this;
        }

        public Criteria andHardwareversionIsNotNull() {
            addCriterion("hardwareVersion is not null");
            return (Criteria) this;
        }

        public Criteria andHardwareversionEqualTo(String value) {
            addCriterion("hardwareVersion =", value, "hardwareversion");
            return (Criteria) this;
        }

        public Criteria andHardwareversionNotEqualTo(String value) {
            addCriterion("hardwareVersion <>", value, "hardwareversion");
            return (Criteria) this;
        }

        public Criteria andHardwareversionGreaterThan(String value) {
            addCriterion("hardwareVersion >", value, "hardwareversion");
            return (Criteria) this;
        }

        public Criteria andHardwareversionGreaterThanOrEqualTo(String value) {
            addCriterion("hardwareVersion >=", value, "hardwareversion");
            return (Criteria) this;
        }

        public Criteria andHardwareversionLessThan(String value) {
            addCriterion("hardwareVersion <", value, "hardwareversion");
            return (Criteria) this;
        }

        public Criteria andHardwareversionLessThanOrEqualTo(String value) {
            addCriterion("hardwareVersion <=", value, "hardwareversion");
            return (Criteria) this;
        }

        public Criteria andHardwareversionLike(String value) {
            addCriterion("hardwareVersion like", value, "hardwareversion");
            return (Criteria) this;
        }

        public Criteria andHardwareversionNotLike(String value) {
            addCriterion("hardwareVersion not like", value, "hardwareversion");
            return (Criteria) this;
        }

        public Criteria andHardwareversionIn(List<String> values) {
            addCriterion("hardwareVersion in", values, "hardwareversion");
            return (Criteria) this;
        }

        public Criteria andHardwareversionNotIn(List<String> values) {
            addCriterion("hardwareVersion not in", values, "hardwareversion");
            return (Criteria) this;
        }

        public Criteria andHardwareversionBetween(String value1, String value2) {
            addCriterion("hardwareVersion between", value1, value2, "hardwareversion");
            return (Criteria) this;
        }

        public Criteria andHardwareversionNotBetween(String value1, String value2) {
            addCriterion("hardwareVersion not between", value1, value2, "hardwareversion");
            return (Criteria) this;
        }

        public Criteria andSoftwareversionIsNull() {
            addCriterion("softwareVersion is null");
            return (Criteria) this;
        }

        public Criteria andSoftwareversionIsNotNull() {
            addCriterion("softwareVersion is not null");
            return (Criteria) this;
        }

        public Criteria andSoftwareversionEqualTo(String value) {
            addCriterion("softwareVersion =", value, "softwareversion");
            return (Criteria) this;
        }

        public Criteria andSoftwareversionNotEqualTo(String value) {
            addCriterion("softwareVersion <>", value, "softwareversion");
            return (Criteria) this;
        }

        public Criteria andSoftwareversionGreaterThan(String value) {
            addCriterion("softwareVersion >", value, "softwareversion");
            return (Criteria) this;
        }

        public Criteria andSoftwareversionGreaterThanOrEqualTo(String value) {
            addCriterion("softwareVersion >=", value, "softwareversion");
            return (Criteria) this;
        }

        public Criteria andSoftwareversionLessThan(String value) {
            addCriterion("softwareVersion <", value, "softwareversion");
            return (Criteria) this;
        }

        public Criteria andSoftwareversionLessThanOrEqualTo(String value) {
            addCriterion("softwareVersion <=", value, "softwareversion");
            return (Criteria) this;
        }

        public Criteria andSoftwareversionLike(String value) {
            addCriterion("softwareVersion like", value, "softwareversion");
            return (Criteria) this;
        }

        public Criteria andSoftwareversionNotLike(String value) {
            addCriterion("softwareVersion not like", value, "softwareversion");
            return (Criteria) this;
        }

        public Criteria andSoftwareversionIn(List<String> values) {
            addCriterion("softwareVersion in", values, "softwareversion");
            return (Criteria) this;
        }

        public Criteria andSoftwareversionNotIn(List<String> values) {
            addCriterion("softwareVersion not in", values, "softwareversion");
            return (Criteria) this;
        }

        public Criteria andSoftwareversionBetween(String value1, String value2) {
            addCriterion("softwareVersion between", value1, value2, "softwareversion");
            return (Criteria) this;
        }

        public Criteria andSoftwareversionNotBetween(String value1, String value2) {
            addCriterion("softwareVersion not between", value1, value2, "softwareversion");
            return (Criteria) this;
        }

        public Criteria andImagesizeIsNull() {
            addCriterion("imageSize is null");
            return (Criteria) this;
        }

        public Criteria andImagesizeIsNotNull() {
            addCriterion("imageSize is not null");
            return (Criteria) this;
        }

        public Criteria andImagesizeEqualTo(String value) {
            addCriterion("imageSize =", value, "imagesize");
            return (Criteria) this;
        }

        public Criteria andImagesizeNotEqualTo(String value) {
            addCriterion("imageSize <>", value, "imagesize");
            return (Criteria) this;
        }

        public Criteria andImagesizeGreaterThan(String value) {
            addCriterion("imageSize >", value, "imagesize");
            return (Criteria) this;
        }

        public Criteria andImagesizeGreaterThanOrEqualTo(String value) {
            addCriterion("imageSize >=", value, "imagesize");
            return (Criteria) this;
        }

        public Criteria andImagesizeLessThan(String value) {
            addCriterion("imageSize <", value, "imagesize");
            return (Criteria) this;
        }

        public Criteria andImagesizeLessThanOrEqualTo(String value) {
            addCriterion("imageSize <=", value, "imagesize");
            return (Criteria) this;
        }

        public Criteria andImagesizeLike(String value) {
            addCriterion("imageSize like", value, "imagesize");
            return (Criteria) this;
        }

        public Criteria andImagesizeNotLike(String value) {
            addCriterion("imageSize not like", value, "imagesize");
            return (Criteria) this;
        }

        public Criteria andImagesizeIn(List<String> values) {
            addCriterion("imageSize in", values, "imagesize");
            return (Criteria) this;
        }

        public Criteria andImagesizeNotIn(List<String> values) {
            addCriterion("imageSize not in", values, "imagesize");
            return (Criteria) this;
        }

        public Criteria andImagesizeBetween(String value1, String value2) {
            addCriterion("imageSize between", value1, value2, "imagesize");
            return (Criteria) this;
        }

        public Criteria andImagesizeNotBetween(String value1, String value2) {
            addCriterion("imageSize not between", value1, value2, "imagesize");
            return (Criteria) this;
        }

        public Criteria andCreatetimeIsNull() {
            addCriterion("createtime is null");
            return (Criteria) this;
        }

        public Criteria andCreatetimeIsNotNull() {
            addCriterion("createtime is not null");
            return (Criteria) this;
        }

        public Criteria andCreatetimeEqualTo(Date value) {
            addCriterion("createtime =", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeNotEqualTo(Date value) {
            addCriterion("createtime <>", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeGreaterThan(Date value) {
            addCriterion("createtime >", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeGreaterThanOrEqualTo(Date value) {
            addCriterion("createtime >=", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeLessThan(Date value) {
            addCriterion("createtime <", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeLessThanOrEqualTo(Date value) {
            addCriterion("createtime <=", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeIn(List<Date> values) {
            addCriterion("createtime in", values, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeNotIn(List<Date> values) {
            addCriterion("createtime not in", values, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeBetween(Date value1, Date value2) {
            addCriterion("createtime between", value1, value2, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeNotBetween(Date value1, Date value2) {
            addCriterion("createtime not between", value1, value2, "createtime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeIsNull() {
            addCriterion("updatetime is null");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeIsNotNull() {
            addCriterion("updatetime is not null");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeEqualTo(Date value) {
            addCriterion("updatetime =", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeNotEqualTo(Date value) {
            addCriterion("updatetime <>", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeGreaterThan(Date value) {
            addCriterion("updatetime >", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeGreaterThanOrEqualTo(Date value) {
            addCriterion("updatetime >=", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeLessThan(Date value) {
            addCriterion("updatetime <", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeLessThanOrEqualTo(Date value) {
            addCriterion("updatetime <=", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeIn(List<Date> values) {
            addCriterion("updatetime in", values, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeNotIn(List<Date> values) {
            addCriterion("updatetime not in", values, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeBetween(Date value1, Date value2) {
            addCriterion("updatetime between", value1, value2, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeNotBetween(Date value1, Date value2) {
            addCriterion("updatetime not between", value1, value2, "updatetime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria implements Serializable {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion implements Serializable {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}